RAM is a common component of many systems. To insure that it is functioning properly, systems will generally test the memory upon start-up. One method tests a memory by generating data patterns, writing them into the memory, reading the memory back, and then comparing the retrieved data against the original pattern. Errors may occur in either the data or the memory address. The program for running the test would reside typically in a separate memory such as an EPROM or a ROM and is executed on a processor.
If the computer's processor is used to generate, write, retrieve, and compare the test dam, the process will require a significant amount of time for completion, taking into account the four operations just noted. The time required to complete the test is proportional to the size of the memory under test, the speed of the processor, the speed of the memory, and the number and type of patterns used. This may present a severe disadvantage where the time available for conducting such a test is limited. Therefore, it would be desirable to provide a system that can rapidly and efficiently test a memory.